1. Field of the Invention
The invention relates to the field of the security protection of digital data.
2. Discussion of Prior Art
It finds a general application in the protection of digital data, and in particular in operations such as authentication, sealing, enciphering/deciphering, electronic signature and generation of secret codes.
A distinction is made between two main families of enciphering means:
the asymmetric-key enciphering means, and PA1 the symmetric-key enciphering means. PA1 at least one input for receiving elementary data to be processed; PA1 processing means suitable for supplying output data depending on the said data. PA1 means for forming a data sequence from the input data thus received; PA1 means for storing an initial quantity in memory; PA1 calculating means suitable for carrying out a non-reversible and quasi-random operation with two operands on the incoming set of the said operation; PA1 two operand registers and an output register for these calculating means; and PA1 control means suitable for breaking down the data sequence into a set of portions which overlap and which constitute the first operand, as well as for initially loading the initial quantity, and a first portion of the data sequence, into the operand registers, then for responding to each appearance of the calculated result by loading the latter and another portion of the data sequence into the operand registers, until the said portions of the data sequence have been completely processed; PA1 the sequence of results supplying the said output data. PA1 first calculating sub-means suitable for carrying out a first sub-operation on the first operand, the first sub-operation constituting a projection of the first operand onto the incoming set of the first sub-operation; PA1 second calculating sub-means suitable for carrying out a second sub-operation on the incoming set from the first sub-operation and the second operand, the second sub-operation constituting a combination of the incoming set from the first sub-operation and of the second operand; and PA1 third calculating sub-means suitable for carrying out a third sub-operation on the incoming set from the second sub-operation, the third sub-operation constituting a dispersion over the incoming set from the second sub-operation.
The asymmetric-key enciphering means, such as those using the RSA public-key algorithm, RSA standing for "RIVEST, SHAMIR, ADLEMAN" allow some of the security protection operations mentioned above to be carried out.
However, such devices exhibit drawbacks.
In fact, they require machines capable of carrying out calculations on 512-bit data, since, below this size, they are not considered to be sufficiently safe, especially for individualizing user stations.
Moreover, the large number of operations necessary for the various enciphering operations makes the implementation of such algorithms very cumbersome.
The symmetric-key enciphering means, such as those using the DES algorithm, DES standing for "DATA ENCRYPTION STANDARD", also allow the majority of the data security protection operations mentioned above to be carried out.
The symmetric-key enciphering algorithms are much faster than the asymmetric-key algorithms.
In the symmetric-key enciphering means, a distinction is made between block algorithms and stream algorithms.
For example, for an authentication operation in which a server wishes to ensure that it is corresponding with an authorized user, the operation of the symmetric-key block algorithm is as follows.
The user executes the security algorithm in order to supply a result R wishes a function of the data to be security protected and of the secret key. For its part, and symmetrically, the security module of the server carries out a similar calculation giving a result R'. The server then checks the consistency of the result R with the result of its own calculation R'.
Cryptography experts are in agreement in saying that such algorithms cannot be considered as sufficiently safe if the data blocks are of less than 64 bits.
The stream enciphering algorithms rest on another principle which is both simple and recognized as being the safer.
It is a matter of adding a random string, bit by bit, to the text to be enciphered. This is the means, for example, which is mentioned as being in use between the Kremlin and the White House.
However, encryption algorithms of the the symmetric stream type exhibit drawbacks.
In fact, the random string has to be as long as the text to be enciphered. This results in problems in transporting the enciphering key.
One solution to these problems consists in distributing a short secret key between the two extremities, allowing a pseudo-random sequence to be generated.
Such enciphering algorithms exist and generally use shift registers, looped back over maximum periods and combined by boolean operations.
However, such enciphering algorithms are complicated to implement.